package com.niit.mall.api.domain.enums;


import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.niit.mall.common.exception.ApiException;
import com.niit.mall.common.exception.Asserts;
import lombok.Getter;

/**
 * 用户状态枚举类，定义用户状态常量。
 *
 * @author ChuXuan
 * @date 2025/05/22
 */

@Getter
public enum UserStatus {
	FROZEN(0, "冻结"),
	NORMAL(1, "正常"),
	;
	/**
	 * 枚举值
	 */
	@EnumValue
	int value;
	/**
	 * 描述信息
	 */
	@JsonValue
	String desc;
	
	UserStatus(Integer value, String desc) {
		this.value = value;
		this.desc = desc;
	}
	
	public static UserStatus of(int value) {
		if (value == 0) {
			return FROZEN;
		}
		if (value == 1) {
			return NORMAL;
		}
		throw new ApiException("账户状态错误");
	}
}